﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.Entity;
using ConfeccionesJR.Entites;
using System.Reflection;
using System.IO;

namespace ConfeccionesJR.Repository
{
    public class JRDatabaseInitializer : DropCreateDatabaseAlways<JRContext>
    {
        protected override void Seed(JRContext context)
        {
            if (context == null)
                throw new ArgumentNullException("context");
            GetImpuestoBoleta().ForEach(p => context.IMPUESTOes.Add(p));
            //GetClienteVarios().ForEach(p => context.CLIENTEs.Add(p));
            GetUnidades().ForEach(p => context.UNIDAD_MEDIDAs.Add(p));
        }

        static List<IMPUESTO> GetImpuestoBoleta()
        {
            var impuestoBoleta = new List<IMPUESTO>
            {
                new IMPUESTO {Descripcion = "SÓLO PARA BOLETAS".ToUpper(),Porcentaje = Convert.ToDecimal("0.00"),Activo = false},
                new IMPUESTO {Descripcion = "IMPUESTO AÑO 2013 - FACTURAS".ToUpper(),Porcentaje = Convert.ToDecimal("0.18"),Activo = true},
                new IMPUESTO {Descripcion = "MONTO MÍNIMO PARA BOLETAS".ToUpper(),Porcentaje = Convert.ToDecimal("2.50"),Activo = false},
                new IMPUESTO {Descripcion = "MONTO MÍNIMO PARA FACTURAS".ToUpper(),Porcentaje = Convert.ToDecimal("5.00"),Activo = false},
                new IMPUESTO {Descripcion = "MONTO MÍNIMO PARA STOCK".ToUpper(),Porcentaje = Convert.ToDecimal("5.00"),Activo = false},
            };
            return impuestoBoleta;
        }
        //static List<CLIENTE> GetClienteVarios()
        //{
        //    var clienteVarios = new List<CLIENTE>
        //    {
        //        new CLIENTE {Direccion = "CLIENTE VARIOS",DniRuc="00000000", Email="",NombreRazonSocial="CLIENTE VARIOS", RPC=" "},
        //    };
        //    return clienteVarios;
        //}

        static List<UNIDAD_MEDIDA> GetUnidades()
        {

            var categorias = new List<UNIDAD_MEDIDA>
            {
                new UNIDAD_MEDIDA {Descripcion = "METROS", Abreviatura = "M"},
                new UNIDAD_MEDIDA {Descripcion = "CENTIMETROS", Abreviatura= "CM"},
                new UNIDAD_MEDIDA {Descripcion = "UNIDADES", Abreviatura= "UND"},
            };
            return categorias;
        }
    }
}
